﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.Data;
using Telerik.WinControls.UI;
using System.IO;

namespace QuanLyNhapXuat.Presentation.WinForm
{
    public partial class frmXuatBu : Telerik.WinControls.UI.RadForm
    {
        public frmXuatBu()
        {
            InitializeComponent();
        }
        
        //them service so giao
        QuanLyNhapXuat.SR_ChiTietGiaoHang.WS_ChitietgiaohangSoapClient xl_CTGiaoHang = new QuanLyNhapXuat.SR_ChiTietGiaoHang.WS_ChitietgiaohangSoapClient();
        //Them service so giao
        QuanLyNhapXuat.SR_SoGiao.WS_SoGiaoSoapClient xl_SoGiao = new QuanLyNhapXuat.SR_SoGiao.WS_SoGiaoSoapClient();
                
        public string MaSG;
        public string MaMH;
        public string MaWash;
        public string GhiChu;
        public decimal DonGiaNhap;      
        public int SoLuongNhap;
        public int SoLuongGiao;
        private int SoLuongConThieu;

        private void frmXuatBu_Load(object sender, EventArgs e)
        {
            SoLuongConThieu = SoLuongNhap - SoLuongGiao;
            lbl_SoLuongConThieu.Text = SoLuongConThieu.ToString();
        }

        private void btn_CapNhat_Click(object sender, EventArgs e)
        {
            errorProvider1.Clear();
            if (num_SoLgBu.Value > SoLuongConThieu)
                errorProvider1.SetError(num_SoLgBu, "Số Lượng Bù không vượt quá số lượng còn thiếu.");
            else if (txt_GhiChuBu.Text.Trim() == "")
                errorProvider1.SetError(txt_GhiChuBu, "Phải ghi 'Rõ' lý do bù.");
            else
            {
                int soluongbu = SoLuongGiao + int.Parse(num_SoLgBu.Value.ToString());
                decimal thanhtien = soluongbu * DonGiaNhap;
                string ghichubu = GhiChu+ " - " + txt_GhiChuBu.Text + " - Giao ngày " + DateTime.Today.ToString();
                xl_CTGiaoHang.sua(MaSG,MaMH,MaWash,soluongbu,thanhtien,ghichubu);

                this.Close();                
            }
        }

        private void num_SoLgBu_ValueChanged(object sender, EventArgs e)
        {
            errorProvider1.Clear();
            if (int.Parse(num_SoLgBu.Value.ToString()) < 1)
            {
                errorProvider1.SetError(num_SoLgBu, "Bạn nhập sai qui định. \nSố lượng nhỏ nhất là 1");
                num_SoLgBu.Focus();
            }
            else if (int.Parse(num_SoLgBu.Value.ToString()) > 10000)
            {
                errorProvider1.SetError(num_SoLgBu, "Bạn đã nhập vượt quá giới hạn cho phép.\nSố lượng lớn nhất là 10000");
                num_SoLgBu.Focus();
            }
        }       
    }
}
